From 227b4a862085e233baa5de8ba143309954bae541 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Mon, 28 Jul 2014 22:04:09 +0200 Subject: [PATCH] gtkcssshadowvalue: Use the blur surface as a mask, instead of painting it This will make it easier to use an A8 for our blurred surface instead of a ARGB32, which makes things a lot easier and faster. --- gtk/gtkcssshadowvalue.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcssshadowvalue.c b/gtk/gtkcssshadowvalue.c index 87300dcbc6..da6d08cd08 100644 --- a/gtk/gtkcssshadowvalue.c +++ b/gtk/gtkcssshadowvalue.c @@ -366,8 +366,8 @@ gtk_css_shadow_value_finish_drawing (const GtkCssValue *shadow, /* Blur the surface. */ _gtk_cairo_blur_surface (surface, radius); - cairo_set_source_surface (original_cr, surface, 0, 0); - cairo_paint (original_cr); + gdk_cairo_set_source_rgba (original_cr, _gtk_css_rgba_value_get_rgba (shadow->color)); + cairo_mask_surface (original_cr, surface, 0, 0); cairo_destroy (cr); cairo_surface_destroy (surface); -- 2.30.2